package com.yuyou.tas.report.vo.req;

import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * Created by yujin.liu on 2018/10/24.
 */
public class ExamModelEdit {

    @ApiModelProperty(value = "id", required = true)
    @NotNull(message = "id 不能为空")
    private Long id;

    @ApiModelProperty(value = "父模板id")
    private Long pId;

    @ApiModelProperty(value = "试卷名称", required = true)
    @Length(max = 40 , message = "试卷名称不能超过40个字")
    @NotBlank(message = "name 不能为空")
    private String name;

    @ApiModelProperty(value = "科目", required = true)
    @NotNull(message = "dataSubject 不能为空")
    private Long dataSubject;

    @Range(min = 0,max = 2,message = "参数在0-2之间")
    @ApiModelProperty(value = "文理科: 0：通用，1:文科，2:理科", required = true)
    private Integer wal;

    @Range(min = 1,max = 3,message = "参数在1-3之间")
    @ApiModelProperty(value = "报告样式：1：标准，2：文综版本，3：语文版", required = true)
    private Integer style;

    @ApiModelProperty(value = "年级", required = true)
    @NotNull(message = "baseSectionId 不能为空")
    private Long baseSectionId;

    @ApiModelProperty(value = "学期", required = true)
    @NotNull(message = "baseTrimesterId 不能为空")
    private Long baseTrimesterId;

    @ApiModelProperty(value = "班型")
    private Long baseLevelId;

    @ApiModelProperty(value = "试卷类型", required = true)
    @NotNull(message = "dataTimeType 不能为空")
    private Long dataTimeType;

    @Range(min = 0, max = 1, message = "参数在0-1之间")
    @ApiModelProperty(value = "类型 0:标准,1:自定义", required = true)
    private Integer rangeType;

    @ApiModelProperty(value = "试卷总分")
    @Range(min = 0, max = 200, message = "试卷总分在0-200之间")
    private BigDecimal score;

    @ApiModelProperty(value = "试卷时间")
    private Integer examTime;

    @ApiModelProperty(value = "试卷简介")
    @Length(max = 200 , message = "试卷简介不能超过200个字")
    private String intro;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getpId() {
        return pId;
    }

    public void setpId(Long pId) {
        this.pId = pId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getDataSubject() {
        return dataSubject;
    }

    public void setDataSubject(Long dataSubject) {
        this.dataSubject = dataSubject;
    }

    public Integer getWal() {
        return wal;
    }

    public void setWal(Integer wal) {
        this.wal = wal;
    }

    public Long getBaseSectionId() {
        return baseSectionId;
    }

    public void setBaseSectionId(Long baseSectionId) {
        this.baseSectionId = baseSectionId;
    }

    public Long getBaseTrimesterId() {
        return baseTrimesterId;
    }

    public void setBaseTrimesterId(Long baseTrimesterId) {
        this.baseTrimesterId = baseTrimesterId;
    }

    public Long getBaseLevelId() {
        return baseLevelId;
    }

    public void setBaseLevelId(Long baseLevelId) {
        this.baseLevelId = baseLevelId;
    }

    public Long getDataTimeType() {
        return dataTimeType;
    }

    public void setDataTimeType(Long dataTimeType) {
        this.dataTimeType = dataTimeType;
    }

    public Integer getRangeType() {
        return rangeType;
    }

    public void setRangeType(Integer rangeType) {
        this.rangeType = rangeType;
    }

    public BigDecimal getScore() {
        return score;
    }

    public void setScore(BigDecimal score) {
        this.score = score;
    }

    public Integer getExamTime() {
        return examTime;
    }

    public void setExamTime(Integer examTime) {
        this.examTime = examTime;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public Integer getStyle() {
        return style;
    }

    public void setStyle(Integer style) {
        this.style = style;
    }
}
